﻿using Swashbuckle.AspNetCore.Annotations;
using System;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
using Xms.Abp.Data;

namespace BackgroundJobManagement;

public class BackgroundScheduleResult : ExtensibleFullAuditedEntityWithUserDto<Guid, string>, IHasName, IHasDisplayName, IHasEnabled, IHasRemark, IHasConcurrencyStamp
{
    [SwaggerSchema("名称")]
    public string Name { get; set; }
    [SwaggerSchema("显示名称")]
    public string DisplayName { get; set; }
    [SwaggerSchema("Cron时间表达式")]
    public string Cron { get; set; }
    [SwaggerSchema("多租户侧")]
    public MultiTenancySides MultiTenancySides { get; set; }
    [SwaggerSchema("执行次数")]
    public int ExecuteCount { get; set; }
    [SwaggerSchema("下次执行时间")]
    public DateTime NextExecuteTime { get; set; }
    [SwaggerSchema("最后执行时间")]
    public DateTime? LastExecuteTime { get; set; }
    [SwaggerSchema("修改时间")]
    public DateTime? ModificationTime { get; set; }
    [SwaggerSchema("是否可用")]
    public bool IsEnabled { get; set; }
    [SwaggerSchema("乐观锁戳")]
    public string ConcurrencyStamp { get; set; }
    [SwaggerSchema("备注")]
    public string Remark { get; set; }
}
